OpenPGP.js: デフォルトだと復号がストリーミングされない理由と解決策
解釈ミス回避
暗号化処理はデフォルトでストリーミングされる。復号がストリーミングできない。
オプションを有効化すれば復号でもストリーミング可能にある。
ストリーミングされない理由
認証データがデータの最後にあるため、その認証データを待っている。
解決策
openpgp.config.aead_protect = trueまたは、
openpgp.config.allow_unauthenticated_stream = true
最初のaead_protectはAEADを有効化するもの。AEADはデータをチャンクに分けてそのチャンクごとに認証データを付与することでストリーミングしながらの復号しながら認証も出来る。ただしこのAEADは現段階だとdraftで、破壊的にデータ形式などが変更される可能性があるみたい。 次のallow_unauthenticated_streamは最後の認証データを待たずに途中の(ストリーミング中の)ときは認証せずに復号していくオプション。